package com.jet.merchant.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.jet.core.model.vo.PageVo;
import com.jet.merchant.domain.dto.MerchantStoreDto;
import com.jet.merchant.domain.entity.MerchantStore;
import com.jet.merchant.domain.query.MerchantStoreQuery;
import com.jet.merchant.domain.vo.MerchantStoreVo;

import java.util.List;

/**
 * <p>
 *  服务类
 * </p>
 *
 * @author author
 * @since 2025-02-14
 */
public interface IMerchantStoreService extends IService<MerchantStore> {


    void register(long merchantNo, long storeNo, String accountId, String phone);

    void create(long merchantNo, MerchantStoreDto dto);

    void asyncGoods(long merchantNo, long storeNo);

    void edit(String id, MerchantStoreDto dto);

    void editName(long merchantNo, long storeNo, String name);

    void editStatus(String id, int status);

    void bindQuota(long merchantNo, long addMonth, long bindStoreNo);

    void delete(String id);

    MerchantStoreVo findById(String id);

    MerchantStore findMain(long merchantNo);

    MerchantStoreVo findByStoreNo(long merchantNo, long storeNo);

    List<MerchantStoreVo> findAllByStoreNos(long merchantNo, List<Long> storeNos);

    List<MerchantStore> findAllByMerchantNo(long merchantNo);

    long countByMerchantNo(long merchantNo);

    PageVo<MerchantStoreVo> page(long merchantNo, MerchantStoreQuery query);

    List<MerchantStoreVo> list(long merchantNo);


}
